package com.speedchina.permission.domain.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.speedchina.framework.base.TEntity;
import com.speedchina.framework.validator.group.AddGroup;
import com.speedchina.framework.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 系统表 - 字典项 实体类
 * @author hank
 * @date 2021-04-08 13:31:41
 */
@Data
@TableName("t_sys_dict_item")
public class DictItem extends TEntity<DictItem> {
    /**
     * 主键
     */
    @TableId 
    @ApiModelProperty(value = "主键")
    @NotNull(message = "主键不可为null", groups = {UpdateGroup.class})
    private String id;
    /**
     * 父级id
     */
    @ApiModelProperty(value = "父级id")
    private String parentId;
    /**
     * 所属字典类型编码
     */
    @ApiModelProperty(value = "所属字典类型编码")
    @NotNull(message = "字典类型不能为空", groups = {AddGroup.class})
    private String dictCode;
    /**
     * 字典项-显示值
     */
    @ApiModelProperty(value = "字典项-显示值")
    private String label;
    /**
     * 字典项-实际值
     */
    @ApiModelProperty(value = "字典项-实际值")
    private String value;
    /**
     * 排序号
     */
    @ApiModelProperty(value = "排序号")
    private Integer sortNum;
    /**
     * 可选场景, 供前端灵活处理（逗号分隔, 如：该项可在查询是用，但是新增时禁选（不可见），修改可展示，但禁用）
     */
    @ApiModelProperty(value = "可选场景, 供前端灵活处理（逗号分隔, 如：该项可在查询是用，但是新增时禁选（不可见），修改可展示，但禁用）")
    private String optionalScenario;
    /**
     * 可用状态 1 可用， 0 不可用
     */

    @ApiModelProperty(value = "可用状态 1 可用， 0 不可用")
    private String useFlag;
    /**
     * 用途描述说明
     */
    @ApiModelProperty(value = "用途描述说明")
    private String description;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    private String createBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 修改者
     */
    @ApiModelProperty(value = "修改者")
    private String updateBy;

    public DictItem(){
    }

}
